Software types and examples