make Node.type_id field private, access through type_id()

fixes #3203