more complex type annotation examples