FragmentTransaction no comstackrá en Kotlin Android Project

En el process de aprendizaje de Kotlin con Android, la falla en la compilation y el text de error en general inútil me han dejado perplejo. El text de error dice lo siguiente:

No se puede invocar ninguna de las siguientes funciones con los arguments suministrados. add (Fragment !, String!) definido en android.app.FragmentTransaction add (Int, Fragment!) definido en android.app.FragmentTransaction

En ambos casos, ¡el Fragmento! el text se resalta en rojo. Soy consciente de que Kotlin se refiere a las classs de Java con un!, Pero no puedo entender por qué no está contento con la forma en que proporcioné las inputs.

Cualquier idea sería muy apreciada.

fun displayEditRoutine(){ //Set our variables var ft = fragmentManager.beginTransaction() //Basic "newInstance" constructor to avoid omitting necessary variables var frag = EditRoutine.newInstance(mRoutineID,this) //Here is where error occurs ft.add(R.id.are_container, frag).commit() } 

La class EditRoutine a la que se hace reference:

 class EditRoutine : Fragment() { //Variables private var mRoutineID: String? = null private var mListener: OnEditRoutineFragmentListener? = null //Views @BindView(R.id.fer_routineName) internal var vRoutine: TextInputEditText? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if (arguments != null) { mRoutineID = arguments.getString(Keys.b_RoutineID) } } override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val v = inflater.inflate(R.layout.fragment_edit_routine, container, false) ButterKnife.bind(activity) return v } // TODO: Rename method, update argument and hook method into UI event fun onButtonPressed(): Unit{ if (mListener != null && vRoutine!!.text.toString() != "") { val contentValues = ContentValues() contentValues.put(Routine.Table.KEY_NAME, vRoutine!!.text.toString()) //Pass the values into the interface mListener!!.onDoneClicked(contentValues) } } override fun onAttach(context: Context) { super.onAttach(context) if (context is OnEditRoutineFragmentListener) { mListener = context } else { throw RuntimeException(context.toString() + " must implement OnEditRoutineFragmentListener") } } override fun onDetach() { super.onDetach() mListener = null } //Internal Methods //Interface interface OnEditRoutineFragmentListener { // TODO: Update argument type and name fun onDoneClicked(cv: ContentValues) } companion object { /** * @param routineID = passed ID. If null, don't load content values * * * @return A new instance of fragment EditRoutine. */ fun newInstance(routineID: String, ctx: Context): EditRoutine { val fragment = EditRoutine() val args = Bundle() args.putString(Keys.b_RoutineID, routineID) fragment.arguments = args return fragment } }