Every tag method in Markaby returns a Fragment. If any method gets called on the Fragment, the tag is removed from the Markaby stream and given back as a string. Usually the fragment is never used, though, and the stream stays intact.
For a more practical explanation, check out the README.
# File lib/markaby/builder.rb, line 281 def initialize(*args) @stream, @start, @length = args @transformed_stream = false end