php is great because it's a statically-typed language with types less expressive than pre-generics java and that lets invalid code run because it doesn't actually do static type checking at all
this toot inspired by my realising php doesn't support return type covariance and will crash out fatally if you try to do covariant things with return types, even though it has a keyword (self) that appears to be specifically intended for doing covariant things with return types
it turns out c♯ also does not support return type covariance
so c♯ sucks actually