[work in progress] context id always >= 0, '0' meaning 'no context'