Right now inheriting from generic types, and even inheriting a non-generic type that's not Reference is broken. There are many issues related to this, which I'll link here: Compiler problem in 0.16.0 with generics #2558 bug with generics inheritance class method returns one value, but is_a?(<this value>) contradicts. Can't debug #2376 mentions generics, the bug might be related to that Return type