Defs( [ @0-7 Type( Opaque { header: TypeHeader { name: @0-1 "A", vars: [], }, typ: @5-7 Apply( "", "U8", [], ), derived: Some( @12-22 Has( [ @13-15 Apply( "", "Eq", [], ), @17-21 Apply( "", "Hash", [], ), ], ), ), }, ), @24-44 SpaceBefore( Type( Opaque { header: TypeHeader { name: @24-25 "A", vars: [], }, typ: @29-44 Where( @29-30 BoundVariable( "a", ), [ @33-44 HasClause { var: @33-34 "a", ability: @39-44 Apply( "", "Other", [], ), }, ], ), derived: Some( @49-59 Has( [ @50-52 Apply( "", "Eq", [], ), @54-58 Apply( "", "Hash", [], ), ], ), ), }, ), [ Newline, Newline, ], ), @61-81 SpaceBefore( Type( Opaque { header: TypeHeader { name: @61-62 "A", vars: [], }, typ: @66-81 Where( @66-67 BoundVariable( "a", ), [ @70-81 HasClause { var: @70-71 "a", ability: @76-81 Apply( "", "Other", [], ), }, ], ), derived: Some( @91-101 SpaceBefore( Has( [ @92-94 Apply( "", "Eq", [], ), @96-100 Apply( "", "Hash", [], ), ], ), [ Newline, ], ), ), }, ), [ Newline, Newline, ], ), ], @103-104 SpaceBefore( Num( "0", ), [ Newline, Newline, ], ), )