Use a signature instead of local-in-end and let-in-end