Coded palindrome exercise: functionality, styles and tests