Type signature

Type signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signatureType signature