Improve equal operator to behave same as in arena

It seems that there is an implicit type conversion of the returned
value from the method when comparing to the expected value.
To be correspond with this behavior, the equal operator is written
to handle various possible types (including real-numbers)

It would be much better to generate warnings in case of implicit
type conversion, but it will be fair enough for the present.
Polish python test template

- fix a template bug on empty list or tuple
- add vim's default fold marker
- minor typo fixes