must not rely on some header file including <algorithm>

any.h includes <algorithm> (but this is to go away).
if a class needs <algorithm> itself, it ought to include it explicitly.
fixed typo
any::compatible()

for future compatibility
use any::compatible() to check for compatibility

before catching errors
support for single/double buffering

untested
only call atom_getfloat() if there are atoms