Could this be solved by using an `abstract`?