Structured Types In Programming Language