Final answer:
Option b, creating new first-class objects that capture state changes, is the method used in functional programming to eliminate side effects, preserving function purity and encapsulating state changes.
Step-by-step explanation:
The method that can be used to eliminate side effects in functional programming is option b: Create new first-class objects that capture state changes and that are created and returned as results from functions. In functional programming, side effects are generally unwanted as they can lead to bugs and make programs harder to understand and predict. Instead of having functions that alter global state or perform input/output operations, functional programmers encapsulate these changes in first-class objects. These objects can then be passed around and transformed without affecting the global state or causing side effects.
Furthermore, this method is in line with the principles of functional programming, which include immutability, pure functions, and the use of higher-order functions. By following this approach, you can ensure that functions remain pure and that state changes are explicit and controlled.