moved spike into trait for 'naive monoids and actions', as proper ones won't be ready for a while