++ Contributed by Gabriel Dos Reis; November 2011. ++ Test conversion of constructors to function objects and ++ elaboration of domain producting function parameters. )abbrev package BAR Bar Bar(F: Type -> Type): Public == Private where Public == Type with bar: () -> Type Private == add bar() == F Integer )abbrev package FOO Foo Foo(): Type with foo: () -> Type == add foo() == bar()$Bar(List)