use "basic_models.g"; fun apply< T > where { Regular< T > } ((fun< U >(U const&) -> T @) const& f, T const& x) -> T @; fun three< T > (T const& x) -> int @; fun main () -> int @;