@override CType checkType(CType t) { if (name != t.name) { throw "type mismatch: type on the wire ${t.name}, expect type $name"; } return t; }