Fix #type return values to return Axiom::Types::Type subclasses
Fix Evaluator#add to find the best matching attribute for the type