type annotated foundation