* feat: support more losing type cast * test: add loose casting tests * format * fmt: add license * fmt: add comments