fix operator=
add missing `template`
add implicit type matching
adjust README