You are right, it should return true. Did you use this exact example? Perhaps your strings aren't the same because of case sensitivity. For example:
contains(toLowerCase('boekhandel Mulder'), toLowerCase('mulder'))
Will return true
contains('boekhandel Mulder', 'mulder')
Will return false because of the capital M in Mulder.
By the way, our documentation pages will soon be updated with more info on microflow expressions.
Boekhandel Mulder = Mulder ? This will definitely return 'false'