fixed the implicits problem and added true typechecking for defs