given A class Foo fn foo: (data: A) => String end class
instance Foo[String] fn foo: (data: String) => String data end fn end instance