# New Ticket Created by Zoffix Znet # Please include the string: [perl #130867] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/Ticket/Display.html?id=130867 >
Some types provide methods, like .Bool, .elems, .Str that are defined for :D subtypes. However, these methods are defined as `only` methods, not `multi`, so the dispatch for :U subtypes fails, instead of those be handled by Mu.* methods. I already fixed[^1] a bunch for Baggy role, but I notice other types have similar issue: <Zoffix> m: Seq.Bool <camelia> rakudo-moar dd4dfb: OUTPUT: «Invocant requires an instance of type Seq, but a type object was passed. Did you forget a .new? in block <unit> at <tmp> line 1» We need to check the codebase for more of these. I think some construct similar to `for Any.^methods(:all)».name -> $name { for @all-core-types { ."$name"() }}` can be used for automated finding of methods that need to be changed to multies. [1] https://github.com/rakudo/rakudo/commit/e8af8553eae9abfe4f5cd02dcf4114c5c4877c51