Add typeAs, typeIs casts and multiply parent access(like parentparentparent)