inline and more expressive types