abstract over messages in example
change import to Free.Class
abstract send/receive interface
use SendRecv for ABT
add SendRecv to exposed modules
update example