Type preserving renaming and substitution in Agda