if (argType.isSupertypeOf(that)) return retType;
return SemType.bottomType;
}
public SemType reverse() { return new FuncSemType(retType, argType); }
public LispTree toLispTree() {
LispTree tree = LispTree.proto.newList();
tree.addChild("->");
tree.addChild(argType.toLispTree());
tree.addChild(retType.toLispTree());
return tree;
}