docs about using the snapshot plugin
optimize match to be a @switch