abstract class Foo { val x: Amount_1[Foo] }