type annotation of String.isEmpty: "isEmpty : String" => isEmpty : Strin...

I guess
String.isEmpty : String
should be
String.isEmpty : String -> Bool